home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Applications / UIFlow 1.0.1 / UIFlow Source / VSet2.0 / Src / vtest4.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-04-20  |  1.1 KB  |  53 lines  |  [TEXT/????]

  1. #include "vg.h"
  2. #define MAXF 50
  3. main() {
  4. DF * f[MAXF];
  5. char fs[MAXF][100];
  6. VGROUP * vg[MAXF];
  7. VDATA  * vsa, * vsb;
  8. char ss[50];
  9. int i,j,k;
  10. int bb[5000];
  11. int nfiles;
  12.  
  13. printf("This test programs opens multiple files [jj*] and then writes ");
  14. printf(" a vset (one vgroup and 2 vdatas) into each file\n\n");
  15.  
  16. printf(" how many files? (max=%d)\n",MAXF); scanf("%d",&nfiles);
  17.  
  18. if(nfiles>=MAXF) nfiles=MAXF;
  19.  
  20. for(i=0;i<5000;i++) bb[i] =i;
  21.  
  22. for(i=0;i<nfiles;i++) {
  23.   sprintf(fs[i],"jj%d",i);
  24.   if( NULL==(f[i]=DFopen(fs[i],DFACC_ALL,0))) 
  25.     { printf(" %s open err\n",fs[i]); exit(0); }
  26.   }
  27. printf(" %d files opned ok \n",nfiles);
  28.  
  29. for(i=0;i<nfiles;i++) {
  30.   vg[i] = (VGROUP*) Vattach(f[i],-1,"w"); 
  31.   sprintf(ss,"MAIN vgroup in %s",fs[i]); Vsetname(vg[i],ss);
  32.   }
  33.  
  34. for(i=0;i<nfiles;i++) {
  35.   vsa = (VDATA*) VSattach(f[i],-1,"w");
  36.   vsb = (VDATA*) VSattach(f[i],-1,"w");
  37.   VSsetfields(vsa,"IX");
  38.   VSsetfields(vsb,"IY");
  39.     VSwrite(vsa,&bb[200+i*10],3,FULL_INTERLACE);
  40.     VSwrite(vsb,&bb[i*10],7,FULL_INTERLACE);
  41.   Vinsert(vg[i],vsa);
  42.   Vinsert(vg[i],vsb);
  43.   VSdetach(vsa);
  44.   VSdetach(vsb);
  45.   }
  46.  
  47. for(i=0;i<nfiles;i++)  Vdetach(vg[i]);
  48.  
  49. for(i=0;i<nfiles;i++)  DFclose(f[i]);
  50.  
  51. }
  52.  
  53.